package com.bycx.core.service;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * Created by yiqr on 2017/6/21.
 */
public interface IBaseService<T>{
	void setBaseMapper();
	/**获得对象*/
	T get(Map<String, Object> params);
	/**获得对象列表*/
	List<T> getList(Map<String, Object> params);
	/**通过主键获得对象*/
	T getByPrimaryKey(Serializable primaryKey);
	
	/**
	 * 通过单一属性以及值获取改对象
	 * @param propName 属性名称
	 * @param value 属性对应的值
	 * @return
	 */
	T get(String propName, String value);
	
	/**
	 * 通过单一属性以及值获取改对象列表
	 * @param propName 属性名称
	 * @param value 属性对应的值
	 * @return
	 */
	List<T> getList(String propName, String value);
	/**插入对象*/
	void save(T t);
	/**通过主键更新对象*/
	void updateByPrimaryKey(T t);
	/**通过主键删除对象*/
	void deleteByPrimaryKey(Serializable primaryKey);
	/**通过主键批量删除对象*/
	void delete(List<String> ids);
	/**通过主键批量删除对象*/
	void deleteObj(List<T> list);
}
